class SearchList {
  // constructor() {
  // }
  // obj 搜索条件， data 数据列表
  search(obj, data) {
    let dataSource = [];
    data.forEach(item => {
      // 判断输入值是否存在对象数组上
      if(this.hasChange(obj, item)) {
        dataSource.push(item);
      }
    })
    return dataSource;
  }

  // 使用递归遍历所有的属性，判断是否在对象里面匹配到对应值
  hasChange(obj, item) {
    let bool = false;
    let loop = obj => {
      for(let key in obj) {
        if(String(obj[key]).trim().indexOf(item[key]) !== -1) {
          bool = true;
        }
        if(typeof obj[key] === 'object' && obj[key] !== null) {
          loop(obj[key])
        }
      }
    }
    loop(obj);
    return bool;
  }
}
export default new SearchList();